<?php
Prado::using('Application.models.cliente');
Prado::using('Application.models.zona');
Prado::using('System.Web.UI.ActiveControls.*');

class NewCliente extends TPage
{
    private $_data_tipodoc = null;
    private $CodigoCliente = null;    
    private $_data=null;
    
    private function sqlmap_Cliente()
    {
        return $this->Application->getModule('SQLMap_CLIENTES')->getClient();
    }		    

    private function sqlmap_Zona()
    {
        return $this->Application->getModule('SQLMap_ZONAS')->getClient();
    }		    

    public function onLoad($param)
    {
        parent::onLoad($param);
        if(!$this->IsPostBack)
        {
          $sqlmapCliente  = $this->sqlmap_Cliente();
          $sqlmapZona     = $this->sqlmap_Zona();
          
          $this->Zona->DataTextField='nom_zona';
          $this->Zona->DataValueField='cod_zona';
          $this->Zona->DataSource = $sqlmapZona->queryForList('SelectZonas');
          $this->Zona->dataBind();
          $this->TxtCod_Cliente->Enabled = "false";
          
          $this->CodigoCliente =  rtrim(ltrim($_GET['CODIGO_CLIENTE'])); 
          if ($this->CodigoCliente === "-1")
            {
              $this->TxtCod_Cliente->Text    = $this->CodigoCliente;                                      
            }
          else
            { 
              $this->lbTituloGrid->Text = 'Modificar datos de Cliente';                           
              $edit_cliente =  $this->sqlmap_Cliente()->queryForObject("SelectCliente",$this->CodigoCliente);              
              $this->TxtCod_Cliente->Text       = $edit_cliente->cod_cliente;              
              $this->TxtNom_Cliente->Text       = $edit_cliente->nom_cliente;
              $this->TxtDir_Cliente->Text       = $edit_cliente->dir_cliente;
              $this->TxtRuc_Cliente->Text       = $edit_cliente->ruc_cliente;              
              $this->TxtTel_Cliente1->Text      = $edit_cliente->tel_cliente1;              
              $this->TxtTel_Cliente2->Text      = $edit_cliente->tel_cliente2;
              $this->TxtFax_Cliente->Text       = $edit_cliente->fax_cliente;
              $this->TxtCel_Cliente1->Text      = $edit_cliente->cel_cliente1;              
              $this->TxtCel_Cliente2->Text      = $edit_cliente->cel_cliente2;
              $this->TxtContacto->Text          = $edit_cliente->contacto;                           
              $this->Zona->SelectedValue        = $edit_cliente->cod_zona;              
            }        
        }                
                                        
    }
  
    public function Limpiar_Cliente()
    { 
      $this->TxtCod_Cliente->Text       = "";              
      $this->TxtNom_Cliente->Text       = "";
      $this->TxtDir_Cliente->Text       = "";
      $this->TxtRuc_Cliente->Text       = "";              
      $this->TxtTel_Cliente1->Text      = "";              
      $this->TxtTel_Cliente2->Text      = "";
      $this->TxtFax_Cliente->Text       = "";
      $this->TxtCel_Cliente1->Text      = "";              
      $this->TxtCel_Cliente2->Text      = "";
      $this->TxtContacto->Text          = "";                           
      $this->Zona->SelectedValue        = "";              
    }
  
    public function Grabar_Cliente($sender, $param)    
    {        
        $this->CodigoCliente =  rtrim(ltrim($_GET['CODIGO_CLIENTE']));    
        $new_cliente = new cliente();        
        $new_cliente->cod_cliente     = $this->TxtCod_Cliente->Text;
        $new_cliente->nom_cliente     = $this->TxtNom_Cliente->Text;
        $new_cliente->ruc_cliente     = $this->TxtRuc_Cliente->Text;
        $new_cliente->dir_cliente     = $this->TxtDir_Cliente->Text;
        $new_cliente->tel_cliente1    = $this->TxtTel_Cliente1->Text;
        $new_cliente->tel_cliente2    = $this->TxtTel_Cliente2->Text;
        $new_cliente->cel_cliente1    = $this->TxtCel_Cliente1->Text;
        $new_cliente->cel_cliente2    = $this->TxtCel_Cliente2->Text;
        $new_cliente->fax_cliente     = $this->TxtFax_Cliente->Text;
        $new_cliente->contacto        = $this->TxtContacto->Text;
        $new_cliente->cod_zona        = $this->Zona->SelectedValue;
                                
        if ($this->CodigoCliente === "-1")
          {                     
            $sql_max_cliente = $this->sqlmap_Cliente();
            $max_cliente = $sql_max_cliente->queryForObject('SelectMaxCliente');
            $new_cliente->cod_cliente = $max_cliente;  
            $this->sqlmap_Cliente()->insert("InsertCliente", $new_cliente);
            $this->Limpiar_Cliente();
            $this->Validador->Text = 'Se ingreso un nuevo registro';                
          }
        else
          {
            $this->sqlmap_Cliente()->update("UpdateCliente", $new_cliente);
            $this->Validador->Text = 'Se actualizaron los datos con exito';            
          }
      
    }
    
    
    public function Back_Page($sender, $param)
    {
      $this->Validador->Text = ' mmmmmmmmmm '; 
      $this->Response->redirect('VPersona.page');
    }
 
}

?>